home *** CD-ROM | disk | FTP | other *** search
/ EnigmA Amiga Run 1996 February / EnigmA AMIGA RUN 04 (1996)(G.R. Edizioni)(IT)[!][issue 1996-02][Skylink CD III].iso / earcd / midi / gfft.lha / gfft-2.03 / source / gfft-2.03-source.lha / gproto.h < prev    next >
C/C++ Source or Header  |  1996-01-02  |  9KB  |  236 lines

  1. /***************************************************************************
  2.  *          Copyright (C) 1994  Charles P. Peterson                  *
  3.  *         4007 Enchanted Sun, San Antonio, Texas 78244-1254             *
  4.  *              Email: Charles_P_Peterson@fcircus.sat.tx.us                *
  5.  *                                                                         *
  6.  *          This is free software with NO WARRANTY.                  *
  7.  *          See gfft.c, or run program itself, for details.              *
  8.  *              Support is available for a fee.                      *
  9.  ***************************************************************************
  10.  *
  11.  * Program:     gfft--General FFT analysis
  12.  * File:        gproto.h
  13.  * Purpose:     define prototypes for GFFT
  14.  * Author:      Charles Peterson (CPP)
  15.  * History:     29-May-1993 CPP; Created.
  16.  * Comment:     This allows a little cheating with smakefile.
  17.  *                Change one prototype, and you don't have to recompile
  18.  *                everything, just the (presumably) modified code that
  19.  *                defines something, and the (hopefully) modified code
  20.  *                that uses it.  Forget to modify one call and you're
  21.  *                dead!  If in doubt, touch gfft.h.
  22.  */
  23.  
  24. #ifndef GPROTO_H
  25. #define GPROTO_H
  26.  
  27. #include <stdio.h>   /* needed for FILE */
  28.  
  29. /*
  30.  * First, the command functions (take arguments, return remaining arguments)
  31.  */
  32. char *about_message (char *arguments);
  33. char *banner_message (char *arguments);
  34. char *help_message (char *arguments);
  35. char *no_warranty_message (char *arguments);
  36. char *copying_message (char *arguments);
  37. char *ok (char *arguments);
  38. char *set_terminal (char *arguments);
  39. char *set_topaz (char *arguments);
  40. char *set_rate (char *arguments);
  41. char *set_read (char *arguments);
  42. char *set_quantization (char *arguments);
  43. char *set_no_quantization (char *arguments);
  44. char *read_message (char *filename);
  45. char *set (char *arguments);
  46. char *set_write (char *arguments);
  47. char *set_append (char *arguments);
  48. char *set_bits (char *arguments);
  49. char *set_bins (char *arguments);
  50. char *set_interleave (char *arguments);
  51. char *set_no_interleave (char *arguments);
  52. char *set_power (char *arguments);
  53. char *set_amplitude (char *arguments);
  54. char *set_mean (char *arguments);
  55. char *set_sum (char *arguments);
  56. char *set_hann (char *arguments);
  57. char *set_hamming (char *arguments);
  58. char *set_blackman_harris_74db (char *arguments);
  59. char *set_blackman_harris_92db (char *arguments);
  60. char *set_triangle (char *arguments);
  61. char *set_rectangle (char *arguments);
  62. char *set_parzen (char *arguments);
  63. char *set_welch (char *arguments);
  64. char *set_fft (char *arguments);
  65. char *set_output (char *arguments);
  66. char *set_numerical (char *arguments);
  67. char *set_no_numerical (char *arguments);
  68. char *set_pad (char *arguments);
  69. char *set_no_pad (char *arguments);
  70. char *settings_message (char *arguments);
  71. char *set_start_byte (char *arguments);
  72. char *stopbyte (char *arguments);
  73. char *set_overlap (char *arguments);
  74. char *set_no_overlap (char *arguments);
  75. char *set_high_y (char *arguments);
  76. char *set_low_y (char *arguments);
  77. char *set_high_frequency (char *arguments);
  78. char *set_low_frequency (char *arguments);
  79. char *set_pink (char *arguments);
  80. char *set_no_pink (char *arguments);
  81. char *set_parseval (char *arguments);
  82. char *set_no_parseval (char *arguments);
  83. char *set_channel (char *arguments);
  84. char *set_frames (char *arguments);
  85. char *include_zero (char *arguments);
  86. char *no_include_zero (char *arguments);
  87. char *set_ignore_format (char *arguments);
  88. char *set_no_ignore_format (char *arguments);
  89. char *set_start_frame (char *arguments);
  90. char *set_multiply (char *arguments);
  91. char *set_no_one_shot_only (char *arguments);
  92. char *set_no_repeat_only (char *arguments);
  93. char *set_octave (char *arguments);
  94. char *set_one_shot_only (char *arguments);
  95. char *set_repeat_only (char *arguments);
  96. char *re_plot (char *arguments);
  97. char *set_rotation_x (char *arguments);
  98. char *set_rotation_z (char *arguments);
  99. char *re_output (char *arguments);
  100. char *set_calibration (char *arguments);
  101. char *set_no_calibrations (char *arguments);
  102. char *set_db_calibration (char *arguments);
  103. char *question_message (char *arguments);
  104. char *set_db (char *arguments);
  105. char *set_no_db (char *arguments);
  106. char *set_plot (char *arguments);
  107. char *set_plot_output (char *arguments);
  108. char *set_no_plot (char *arguments);
  109. char *set_logx (char *arguments);
  110. char *set_logy (char *arguments);
  111. char *set_no_logx (char *arguments);
  112. char *set_no_logy (char *arguments);
  113. char *default_command (char *arguments);
  114. char *default_argument (char *arguments);
  115. char *quit (char *arguments);  /* Actually, this never returns */
  116. char *set_key (char *arguments);
  117. char *set_psdensity (char *arguments);
  118. char *set_no_psdensity (char *arguments);
  119. char *save_settings (char *arguments);
  120. char *save_parameters (char *arguments);
  121. char *load_settings (char *arguments);
  122. char *set_save_memory (char *arguments);
  123. char *set_no_save_memory (char *arguments);
  124. char *set_smoothing_segments (char *arguments);
  125. char *set_squared_smoothing (char *arguments);
  126. char *set_no_squared_smoothing (char *arguments);
  127. char *set_combine_plots (char *arguments);
  128. char *cut_combined_plot (char *arguments);
  129. char *set_no_combine_plots (char *arguments);
  130. char *set_no_time_3d (char *arguments);
  131. char *set_time_3d (char *arguments);
  132. char *set_time_offset (char *arguments);
  133. char *set_time_overlap (char *arguments);
  134. char *set_time_segments (char *arguments);
  135. char *set_time_seg_size (char *arguments);
  136. char *set_signed (char *arguments);
  137. char *set_unsigned (char *arguments);
  138. char *set_hidden_3d (char *arguments);
  139. char *set_no_hidden_3d (char *arguments);
  140. char *set_header (char *arguments);
  141. char *set_no_header (char *arguments);
  142. char *clear_plot_commands (char *arguments);
  143. char *add_plot_command (char *arguments);
  144.  
  145. /*
  146.  * Now, other functions
  147.  */
  148. Name_Info_St *invoke_method (char *command, Name_Info_St *command_name_list);
  149.  
  150. Name_Info_St *identify_name (char *command, 
  151.                 Name_Info_St *command_name_list, 
  152.                 BOOLEAN report_error);
  153.  
  154. void cli_interactive_loop (BOOLEAN started_from_cli);
  155. void startup_cli_file (void);
  156. void execute_command_line (char *command_line, void (*error_trap)(void));
  157.  
  158. void batch_command (int argc, char *argv[]);
  159. void error_message (int messagenumber);
  160. void command_error_message (int messagenumber, char *bad_charp);
  161. void prompt_command (void);
  162. int do_command (char *command);
  163. char *read_file (char *filename);
  164. void *gmalloc (unsigned long bytes, int jmp_value);
  165. void *gcalloc (unsigned long n_ele, unsigned long ele_size, int jmp_value);
  166. void gfree (void *block);
  167. unsigned long get_pos_power_2 (unsigned long testvalue);
  168. unsigned long ok_read (float *indata, unsigned long NumberBins);
  169. ULONG ok_spectrum (BOOLEAN do_it_for_real);
  170. void ok_write (BIN_TYPE *bins, long number_bins, long number_segments);
  171. void ok_sigma (float *indata, BIN_TYPE *bins, unsigned long number_bins);
  172. void ok_rfft (float *indata, unsigned long number_bins);
  173. long fft_inner_loops (ULONG number_bins);
  174. ULONG ok_fft (BOOLEAN do_it_for_real);
  175. void ok_writec (float *data, unsigned long data_count);
  176. void ok_rewind (void);
  177. void *grealloc (void *memblock, unsigned long nbytes, int jmp_value);
  178. void bins_d_message (unsigned long total_actually_read, 
  179.              unsigned long number_bins);
  180. void bins_s_message (void);
  181. void *gopen (char **path_list, char *filename, char *mode);
  182. void reset_format (void);
  183. void read_format (void);
  184. void ok_plot (void);
  185. void ok_window (float *indata, unsigned long data_count);
  186. int ok_octave_offset (BOOLEAN report_error);
  187. void loop_time_message (double seconds);
  188. void loop_time_message_done (double seconds);
  189. void gabort (int status);
  190. BOOLEAN is_temp_file (char *filename);
  191. double *ok_mesh (double nyquist_frequency, double delta_frequency);
  192. double ok_window__gain2 (void);
  193. ULONG ok_time3d_spectrum (BOOLEAN do_it_for_real);
  194. ULONG do_ok (BOOLEAN do_it_for_real);
  195. void do_re_output (void);
  196. void do_re_plot (void);
  197. void calibration_list__add (struct cal_st **clistp,
  198.                 char *cname, 
  199.                 FILE *cfile,
  200.                 BOOLEAN db_scale);
  201. int calibration_list__count (struct cal_st **clistp);
  202. void calibration_list__cancel (struct cal_st **clistp);
  203. void calibration_list__reset (struct cal_st **clistp);
  204. float calibration_list__apply (struct cal_st **clistp, 
  205.                    float value, double freq);
  206. void calibration_list__write (FILE *fp, char *cstr, struct cal_st **clistp);
  207. void delay (int seconds);
  208. ULONG magic_number (char *string);
  209. char *save_settings_or_parameters (char *arguments, 
  210.                    BOOLEAN parameters_only);
  211. void write_settings (FILE *savefile_ptr, char *comment_string,
  212.              BOOLEAN show_read, BOOLEAN show_write);
  213. void execute_file_commands (FILE *fptr);
  214. void write_plot_commands (FILE *fp, char *cstr, char *name,
  215.               struct list_st *plot_commands);
  216.  
  217.  
  218. #ifdef AMIGA
  219. void workbench_main (void);
  220. char *workbench_command (char *arguments);
  221. int workbench_dialog (void);
  222. void message_requester (struct Window *windowp, char *message_text);
  223. void close_amiga_stuff (void);
  224. #endif
  225.  
  226. #ifdef NUMERICAL_RECIPES_AVAILABLE
  227. void realft (float data[], int n, int isign);
  228. void four1 (float data[], int n, int isign);
  229. #endif
  230.  
  231. /*
  232.  * (Note: the protos for complex numbers are defined in complex.h)
  233.  */
  234.  
  235. #endif /* ifndef GPROTO_H */
  236.